Cleaning for rotating sensors

ABSTRACT

Aspects of the disclosure relate to cleaning rotating sensors having a sensor housing with a sensor input surface. For instance, a first signal from a position sensor indicating a current position of the sensor housing may be received. A second signal to activate a liquid nozzle and an air nozzle, the liquid nozzle being configured to provide a spray of liquid and the air nozzle being configured to provide a puff of gas may be received. When to activate the liquid nozzle in order to provide the spray of liquid on the sensor input surface may be determined based on the current position of the sensor housing and the second signal. When to activate the air nozzle in order to provide the puff of gas on the sensor input surface may be determined based on the current position of the sensor housing and the second signal.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of the filing date of U.S.Provisional Patent Application No. 63/071,629 filed Aug. 28, 2020, thedisclosure of which is hereby incorporated herein by reference.

BACKGROUND

Various types of vehicles, such as cars, trucks, motorcycles, busses,boats, airplanes, helicopters, lawn mowers, recreational vehicles,amusement park vehicles, farm equipment, construction equipment, trams,golf carts, trains, trolleys, etc., may be equipped with various typesof sensors in order to detect objects in the vehicle's environment. Forexample, vehicles, such as autonomous vehicles, may include such LIDAR,radar, sonar, camera, or other such imaging sensors that scan and recorddata from the vehicle's environment. Sensor data from one or more ofthese sensors may be used to detect objects and their respectivecharacteristics (position, shape, heading, speed, etc.).

However, these vehicles are often subjected to environmental elementssuch as rain, snow, dirt, etc., which can cause a buildup of debris andcontaminants on these sensors. Typically, the sensors include a housingto protect the internal sensor components of the sensors from the debrisand contaminants, but over time, the housing itself may become dirty. Assuch, the functions of the sensor components may be impeded as signalstransmitted and received by the internal sensor components are blockedby the debris and contaminants.

BRIEF SUMMARY

One aspect of the disclosure provides system for cleaning a sensor, thesensor including a rotating sensor housing with a sensor input surface.The system includes a liquid nozzle configured to provide a spray ofliquid, an air nozzle configured to provide a puff of gas, and one ormore processors. The one or more processors are configured to receive afirst signal from a position sensor indicating a current position of thesensor housing; receive a second signal to activate the liquid nozzleand the air nozzle; determine when to activate the liquid nozzle inorder to provide the spray of liquid on the sensor input surface basedon the current position of the sensor housing and the second signal; anddetermine when to activate the air nozzle in order to provide the puffof gas on the sensor input surface based on the current position of thesensor housing and the second signal.

In one example, the system also includes a vehicle and the sensor, andthe sensor is mounted on the vehicle. In this example, the liquid nozzleand the air nozzle are positioned between the sensor housing and a rearof the vehicle. In another example, the second signal indicates that thesensor input surface requires cleaning. In another example, the secondsignal indicates a number of rotations of the sensor housing betweenwhen the liquid nozzle is to be activated and when the air nozzle is tobe activated. In another example, the second signal further indicates aportion of the sensor input surface to be cleaned, and whereindetermining when to activate the liquid nozzle is further based on theportion. In another example, the second signal further indicates aportion of the sensor input surface to be cleaned, and whereindetermining when to activate the air nozzle is further based on theportion. In another example, the one or more processors are furtherconfigured to: activate the liquid nozzle further based on thedetermination of when to activate the liquid nozzle and activate the airnozzle further based on the determination of when to activate the airnozzle. In another example, the system also includes memory storing atable, and the one or more processors are further configured todetermine when to activate the liquid nozzle using the table. In thisexample, the table identifies different timing combinations foractivating the liquid nozzle and the air nozzle based on a portion ofthe sensor input surface to be cleaned.

Another aspect of the disclosure provides a method for cleaning asensor. The sensor including a rotating sensor housing with a sensorinput surface. The method includes receiving a first signal from aposition sensor indicating a current position of the sensor housing;receiving, by the one or more processors, a second signal to activate aliquid nozzle and an air nozzle, the liquid nozzle being configured toprovide a spray of liquid and the air nozzle being configured to providea puff of gas; determining, by the one or more processors, when toactivate the liquid nozzle in order to provide the spray of liquid onthe sensor input surface based on the current position of the sensorhousing and the second signal; and determining, by the one or moreprocessors, when to activate the air nozzle in order to provide the puffof gas on the sensor input surface based on the current position of thesensor housing and the second signal.

In one example, the second signal indicates that the sensor inputsurface requires cleaning. In another example, the second signalindicates a number of rotations of the sensor housing between when theliquid nozzle is to be activated and when the air nozzle is to beactivated. In another example, the second signal further indicates aportion of the sensor input surface to be cleaned, and determining whento activate the liquid nozzle is further based on the portion. In thisexample, the second signal further indicates a portion of the sensorinput surface to be cleaned, and wherein determining when to activatethe air nozzle is further based on the portion. In another example, themethod also includes, activating the liquid nozzle further based on thedetermination of when to activate the liquid nozzle and activating theair nozzle further based on the determination of when to activate theair nozzle. In another example, determining when to activate the liquidnozzle includes using a table. In this example, the table identifiesdifferent timing combinations for activating the liquid nozzle and theair nozzle based on a portion of the sensor input surface to be cleaned.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional diagram of an example vehicle in accordance withaspects of the disclosure.

FIG. 2 is an example external view of a vehicle in accordance withaspects of the disclosure.

FIG. 3 is an example view of a sensor in accordance with aspects of thedisclosure.

FIG. 4 is an example functional diagram of a cleaning system inaccordance with aspects of the disclosure.

FIG. 5 is an example flow diagram in accordance with aspects of thedisclosure.

FIG. 6 is an example timing diagram in accordance with aspects of thedisclosure.

DETAILED DESCRIPTION Overview

The technology relates to a cleaning system for a rotating sensormounted on a vehicle, such as an autonomous vehicle. The sensor may be aLIDAR, radar, sonar, camera, or other such imaging sensors that scan andrecord data from the vehicle's environment. The sensor may include asensor housing which rotates relative to the vehicle. The sensor housingmay house the internal components of the sensor and may include a sensorinput surface through which signals may be sent and received. If thesensor input surface becomes partially or completely occluded by foreignobject debris, such as water, dirt, etc., the sensor's ability to detectand identify objects in the vehicle's environment may become degraded.Because detecting and identifying objects is a critical function for anautonomous vehicle, clearing such foreign object debris can also becomecritically important.

The sensor may be arranged on a vehicle. The sensor housing and thesensor input surface may rotate. In order to clean the sensor inputsurface, the cleaning system may include a liquid nozzle as well as anair nozzle. The liquid nozzle may be connected to a reservoir storing aliquid cleaning fluid, such as water, alcohol, or various other liquidcleaning fluids. A liquid pump may be configured to pump liquid cleaningfluid from the reservoir through a liquid valve and out of the liquidnozzle in order to clean the sensor input surface. The rotation of thesensor housing may help to clear the liquid cleaning fluid from thesensor input surface.

However, the rotation may not be enough to ensure that the liquidcleaning fluid is fully removed from the sensor input surface. As such,the air nozzle may generate a puff (or jet or blast) of fluid, such asair or another gas, in order to force the liquid cleaning fluid off ofthe sensor input surface. An air pump may be configured to pump airthrough an air valve out of the air nozzle.

A controller may include one or more computing devices configured toreceive, and act upon, various signals. For example, the controller maybe configured to receive feedback from a position sensor identifying theposition of the sensor. From this information as well as the rotationspeed of the sensor housing, the controller may determine the currentposition of the sensor input surface at any given point in time.

The controller may also receive signals from the sensor and/or othercomputing devices of the vehicle indicating the current state of thesensor. For example, the controller may receive a signal indicating thatthe sensor input surface is occluded or dirty. This information may begenerated by another system configured to determine whether the sensorinput surface is dirty. In response, the controller may use the currentposition of the sensor input surface to determine exactly when toactivate the liquid pump and the air pump as well as to open the air andliquid valves in order to both apply liquid cleaning fluid to the sensorinput surface as well as to clear the liquid cleaning fluid from thesensor input surface using a puff of gas.

The features described herein may provide for a useful and practicalapproach to cleaning rotating sensors. In addition, the aforementionedtiming, cleaning of different portions of the sensor input surfacedepending on where the sensor input surface is dirty, and thepositioning of the nozzles may significantly reduce the amount of liquidcleaning fluid that would be wasted, for instance due to overspray,without such features. In addition, by reducing overspray, this avoidsspraying onto other nearby vehicles or persons (specially in urbanareas) and also reduces operational costs (as less fluid is wasted, lessfluid may be needed). All of these can be important considerations whena vehicle is driving through an area where frequent cleaning is requiredas the amount of liquid cleaning fluid is limited to that which is inthe reservoir.

Example Systems

As shown in FIG. 1, a vehicle 100 in accordance with one aspect of thedisclosure includes various components. While certain aspects of thedisclosure are particularly useful in connection with specific types ofvehicles, the vehicle may be any type of vehicle including, but notlimited to, cars, trucks, motorcycles, busses, recreational vehicles,etc. The vehicle may have one or more computing devices, such ascomputing device 110 containing one or more processors 120, memory 130and other components typically present in general purpose computingdevices.

The memory 130 stores information accessible by the one or moreprocessors 120, including instructions 132 and data 134 that may beexecuted or otherwise used by the processor 120. The memory 130 may beof any type capable of storing information accessible by the processor,including a computing device-readable medium, or other medium thatstores data that may be read with the aid of an electronic device, suchas a hard-drive, memory card, ROM, RAM, DVD or other optical disks, aswell as other write-capable and read-only memories. Systems and methodsmay include different combinations of the foregoing, whereby differentportions of the instructions and data are stored on different types ofmedia.

The instructions 132 may be any set of instructions to be executeddirectly (such as machine code) or indirectly (such as scripts) by theprocessor. For example, the instructions may be stored as computingdevice code on the computing device-readable medium. In that regard, theterms “instructions” and “programs” may be used interchangeably herein.The instructions may be stored in object code format for directprocessing by the processor, or in any other computing device languageincluding scripts or collections of independent source code modules thatare interpreted on demand or compiled in advance. Functions, methods androutines of the instructions are explained in more detail below.

The data 134 may be retrieved, stored or modified by processor 120 inaccordance with the instructions 132. As an example, data 134 of memory130 may store predefined scenarios. A given scenario may identify a setof scenario requirements including a type of object, a range oflocations of the object relative to the vehicle, as well as otherfactors such as whether the autonomous vehicle is able to maneuveraround the object, whether the object is using a turn signal, thecondition of a traffic light relevant to the current location of theobject, whether the object is approaching a stop sign, etc. Therequirements may include discrete values, such as “right turn signal ison” or “in a right turn only lane”, or ranges of values such as “havinga heading that is oriented at an angle that is 20 to 60 degrees offsetfrom a current path of vehicle 100.” In some examples, the predeterminedscenarios may include similar information for multiple objects.

The one or more processor 120 may be any conventional processors, suchas commercially available CPUs. Alternatively, the one or moreprocessors may be a dedicated device such as an ASIC or otherhardware-based processor. Although FIG. 1 functionally illustrates theprocessor, memory, and other elements of computing device 110 as beingwithin the same block, it will be understood by those of ordinary skillin the art that the processor, computing device, or memory may actuallyinclude multiple processors, computing devices, or memories that may ormay not be stored within the same physical housing. As an example,internal electronic display 152 may be controlled by a dedicatedcomputing device having its own processor or central processing unit(CPU), memory, etc. which may interface with the computing device 110via a high-bandwidth or other network connection. In some examples, thiscomputing device may be a user interface computing device which cancommunicate with a user's client device. Similarly, the memory may be ahard drive or other storage media located in a housing different fromthat of computing device 110. Accordingly, references to a processor orcomputing device will be understood to include references to acollection of processors or computing devices or memories that may ormay not operate in parallel.

Computing device 110 may all of the components normally used inconnection with a computing device such as the processor and memorydescribed above as well as a user input 150 (e.g., a mouse, keyboard,touch screen and/or microphone) and various electronic displays (e.g., amonitor having a screen or any other electrical device that is operableto display information). In this example, the vehicle includes aninternal electronic display 152 as well as one or more speakers 154 toprovide information or audio-visual experiences. In this regard,internal electronic display 152 may be located within a cabin of vehicle100 and may be used by computing device 110 to provide information topassengers within the vehicle 100. The vehicle may also include one ormore wireless network connections 156 to facilitate communicates withdevices remote from the vehicle and/or between various systems of thevehicle.

In one example, computing device 110 may be an autonomous drivingcomputing system incorporated into vehicle 100. The autonomous drivingcomputing system may be capable of communicating with various componentsand systems of the vehicle, for instance, wirelessly (via wirelessnetwork connections 156) and/or a wired connection (such as a controllerarea network bus or other communication bus). For example, returning toFIG. 1, computing device 110 may be in communication with varioussystems of vehicle 100, such as deceleration system 160 (for controllingbraking of the vehicle), acceleration system 162 (for controllingacceleration of the vehicle), steering system 164 (for controlling theorientation of the wheels and direction of the vehicle), signalingsystem 166 (for controlling turn signals), navigation system 168 (fornavigating the vehicle to a location or around objects), positioningsystem 170 (for determining the position of the vehicle), perceptionsystem 172 (for detecting objects in the vehicle's environment), andpower system 174 (for example, a battery and/or gas or diesel poweredengine) in order to control the movement, speed, etc. of vehicle 100 inaccordance with the instructions 132 of memory 130 in an autonomousdriving mode which does not require or need continuous or periodic inputfrom a passenger of the vehicle. The vehicle 100 may also include acleaning system 400 and a sensor status system 450 discussed furtherbelow.

Again, although these systems are shown as external to computing device110, in actuality, these systems may also be incorporated into computingdevice 110, again as an autonomous driving computing system forcontrolling vehicle 100. In addition or alternatively, each of thesesystems may include one or more computing devices having processors andmemory, configured the same as or similarly to processors 120 and memory130 of computing devices 110 in order to enable the functionalities ofthese systems as described here.

The computing device 110 may control the direction and speed of thevehicle by controlling various components. By way of example, computingdevice 110 may navigate the vehicle to a destination location completelyautonomously using data from the map information and navigation system168. Computing devices 110 may use the positioning system 170 todetermine the vehicle's location and perception system 172 to detect andrespond to objects when needed to reach the location safely. In order todo so, computing devices 110 may cause the vehicle to accelerate (e.g.,by increasing fuel or other energy provided to the engine byacceleration system 162), decelerate (e.g., by decreasing the fuelsupplied to the engine, changing gears, and/or by applying brakes bydeceleration system 160), change direction (e.g., by turning the frontor rear wheels of vehicle 100 by steering system 164), and signal suchchanges (e.g., by lighting turn signals of signaling system 166). Thus,the acceleration system 162 and deceleration system 160 may be a part ofa drivetrain that includes various components between an engine of thevehicle and the wheels of the vehicle. Again, by controlling thesesystems, computing devices 110 may also control the drivetrain of thevehicle in order to maneuver the vehicle autonomously.

As an example, computing device 110 may interact with decelerationsystem 160 and acceleration system 162 in order to control the speed ofthe vehicle. Similarly, steering system 164 may be used by computingdevice 110 in order to control the direction of vehicle 100. Forexample, if vehicle 100 is configured for use on a road, such as a caror truck, the steering system may include components to control theangle of wheels to turn the vehicle. Signaling system 166 may be used bycomputing device 110 in order to signal the vehicle's intent to otherdrivers or vehicles, for example, by lighting turn signals or brakelights when needed.

Navigation system 168 may be used by computing device 110 in order todetermine and follow a route to a location. In this regard, thenavigation system 168 and/or data 134 may store map information, e.g.,highly detailed maps that computing devices 110 can use to navigate orcontrol the vehicle 100. As an example, these maps may identify theshape and elevation of roadways, lane markers, intersections,crosswalks, speed limits, traffic signal lights, buildings, signs, realtime or historical traffic information, vegetation, or other suchobjects and information. The lane markers may include features such assolid or broken double or single lane lines, solid or broken lane lines,reflectors, etc. A given lane may be associated with left and right lanelines or other lane markers that define the boundary of the lane. Thus,most lanes may be bounded by a left edge of one lane line and a rightedge of another lane line. As noted above, the map information may storeknown traffic or congestion information and/or and transit schedules(train, bus, etc.) from a particular pickup location at similar times inthe past. This information may even be updated in real time byinformation received by the computing devices 110.

As an example, the detailed map information may include one or moreroadgraphs or graph networks of information such as roads, lanes,intersections, and the connections between these features. Each featuremay be stored as graph data and may be associated with information suchas a geographic location and whether or not it is linked to otherrelated features, for example, a stop sign may be linked to a road andan intersection, etc. In some examples, the associated data may includegrid-based indices of a roadgraph to allow for efficient lookup ofcertain roadgraph features.

The perception system 172 also includes one or more components fordetecting objects external to the vehicle such as other vehicles,obstacles in the roadway, traffic signals, signs, trees, etc. Forexample, the perception system 172 may include one or more LIDARsensors, sonar devices, radar units, cameras and/or any other detectiondevices that record data which may be processed by computing devices110. The sensors of the perception system may detect objects and theircharacteristics such as location, orientation, size, shape, type (forinstance, vehicle, pedestrian, bicyclist, etc.), heading, speed,acceleration, rate of change of acceleration, deceleration, rate ofchange of deceleration, etc. The raw data from the sensors and/or theaforementioned characteristics can be quantified or arranged into adescriptive function, vector, and or bounding box and sent for furtherprocessing to the computing devices 110 periodically and continuously asit is generated by the perception system 172.

For instance, FIG. 2 is an example external view of vehicle 100. In thisexample, roof-top housing 210 and housings 212, 214 may include a LIDARsensor as well as various cameras and radar units. In addition, housing220 located at the front end of vehicle 100 and housings 230, 232 on thedriver's and passenger's sides of the vehicle may each store a LIDARsensor. For example, housing 230 is located in front of driver door 250.Vehicle 100 also includes housings 240, 242 for radar units and/orcameras also located on the roof of vehicle 100. Additional radar unitsand cameras may be located at the front and rear ends of vehicle 100and/or on other positions along the roof or housing 210. In addition,Vehicle 100 also includes many features of a typical passenger vehiclesuch as doors 250, 252, wheels 260, 262, etc.

Example Sensor

FIG. 3 depicts an example view of a sensor 300. The sensor may bearranged or mounted at various locations on the vehicle, including, forexample, a top portion of the vehicle such as with housing 210 or atvarious other locations, such as the sides, front or rear of thevehicle. The sensor 300 may be incorporated into the aforementionedperception system and/or may be configured to receive commands from thecomputing devices 110, for instance via a wired or wireless connection.

The sensor 300 may include a housing 310 to protect the internal sensorcomponents 360 (shown in dashed-line in FIG. 3 as they are internal tothe housing 310) from debris such as water, dirt, insects, and othercontaminants. However, over time, the housing and other sensorcomponents may collect debris. As such, the functions of internal sensorcomponents 360 may be impeded as signals transmitted and received by theinternal sensor components may be blocked by the debris. To addressthis, debris may be cleared from the sensor 300 by rotating the internalsensor components 360 within the housing. This rotation may enable oneor more wipers to clear any debris on a sensor input surface of thesensor.

The housing 310 may be configured in various shapes and sizes. As shownin the example of FIG. 3, the housing 310 is may be configured such thatit has a domed shaped top portion 317 with a side wall 305, such thatthe housing is in the shape of a frustum. Although the sensor housing isshown in the shape of a frustum, the sensor housing may be configured invarious shapes and sizes, such as spheres, cylinders, cuboids, cones,prisms, pyramids, cubes, etc., or any combination of such shapes. Thesensor housing 310 may be comprised of materials such as plastic, glass,polycarbonate, polystyrene, acrylic, polyester, etc. For instance, thesensor housing may be a metal or plastic housing and the internal sensorcomponents 360 have a “window” or sensor input surface 350 that allowsthe sensor to transmit and/or receive signals.

The sensor input surface may be arranged on or in the sensor housingsuch that the internal sensor components may transmit and receive one ormore signals through the sensor input surface. For instance, the sidewall 305 of the sensor housing 310 may include a flat portion 326 inwhich sensor input surface 350 is incorporated to allow signals (notshown) from internal sensor components 360 to penetrate the sensor cover315, as further shown in FIG. 3. As an example, if the sensor housing isapproximately 277 millimeters in diameter, the sensor input surface maybe approximately 142 millimeters wide. Although the sensor input surface350 is shown as being circular in FIG. 3, various other shapes may alsobe used for the sensor input surface. In addition, the sensor inputsurface may be incorporated onto non-flat surfaces of the housing.

In some instances the entire sensor housing 310, or a large portion ofthe sensor housing 310, may be penetrable by the signals transmitted andreceived by the internal sensor components, thereby allowing a largeportion or the entire sensor housing 310 to function as a sensor inputsurface. Although the sensor input surface 350 is shown as being only aportion of the side wall 305, in some instances the entire side wall 305may be constructed as a sensor input surface. Further, multiple sensorinput surfaces may be positioned on the sensor housing 310. The sensorinput surface 350 may be composed of the same, or different, material asthe sensor housing 310.

The sensor 300 and/or sensor housing 310 may be attached to a motor viaa sensor shaft. For instance, as further shown in FIG. 3, the sensorshaft 330 may include a first end 332 and a second end 334. The firstend 332 of the of the sensor shaft 330 may be attached to a motor 320and the second end 334 of the sensor shaft may be connected to thesensor 300 and/or sensor cover 315, such as at the base portion 306 ofthe sensor cover. In this regard, the first end of the sensor shaft 332may be attached to the motor 320 via a belt, gear, chain, frictionroller, etc. The motor 320 may rotate the sensor shaft 330 in the firstdirection 335 causing the entire sensor 300 and/or sensor housing 310 toalso rotate in the first direction 335. In some embodiments the sensorshaft 330 may only rotate the sensor housing 310, and not the internalsensor components 360 of the sensor.

As another alternative, the internal sensor components and the sensorhousing may be configured to rotate independently of one another. Inthis regard, all or a portion of the sensor housing 310 may betransparent (or transparent at least in the wavelengths of the signalsto be processed by the sensor 300) in order to enable signals to passthrough the sensor housing and to reach the internal sensor components360. In addition, to enable independent rotation, a first motor may beconfigured to rotate the sensor housing 310 and a second motor may beconfigured to rotate the internal sensor components. In this example,the sensor housing may be rotated to enable cleaning while the internalsensor components may still function to capture signals and generatesensor data.

The sensor 300, sensor housing 310, and/or motor 320 may each be locatedinternally or externally from a vehicle. Although FIG. 3 shows thesensor 300 being attached to the motor 320 via a shaft 330, the motor320 may be integrated or otherwise directly connected to the sensor 300and/or sensor housing 310.

The internal sensor components 360 may transmit and receive one or moresignals through the sensor input surface. In this regard, the internalsensor components may include one or more imaging sensors such as LIDAR,radar, sonar, camera, or other such imaging sensors positioned withinthe sensor housing of the sensor. The sensor input surface may be alens, mirror or other surface by which the signals can pass or aredirected to other sensor components (e.g. a photodetector in the case ofa camera) in order to generate sensor data.

Turning to FIG. 4, In order to clean the sensor input surface, acleaning system 400 may include a liquid nozzle 410 as well as an airnozzle 420. The liquid nozzle 410 may be connected to a reservoir 414storing liquid cleaning fluid, such as water, alcohol, or various otherliquid cleaning fluids. Although depicted and described as a singlenozzle, liquid nozzle 410 may actually represent two or more smallernozzles directly adjacent to one another in order to provide a moredirected stream of liquid cleaning fluid. A liquid pump 412 may beconfigured to pump liquid cleaning fluid from the reservoir through aliquid valve 418, tubing 416, and out of the liquid nozzle 410 in orderto clean the sensor input surface. The tubing may be formed from anysuitable materials such as plastic, silicone, metal, etc.

As one example, if the forward direction of the vehicle (depicted inFIG. 2) is 0 degrees, and the sensor housing rotates in a clockwisedirection, the liquid nozzle may be located at approximately 146 degreesas shown in FIG. 5. The rotation of the sensor housing may help to clearthe liquid cleaning fluid from the sensor input surface.

However, the rotation may not be enough to ensure that the liquidcleaning fluid is fully removed from the sensor input surface. As such,the air nozzle 420 may generate a puff of liquid, such as air or anothergas, in order to force the liquid cleaning fluid off of the sensor inputsurface. An air pump 422 may be configured to pump air through an airvalve 428 out and tubing 426, and out of the air nozzle in order toclean the sensor input surface. The tubing may be formed from anysuitable materials such as plastic, silicone, metal, etc.

In the example above where the forward direction of the vehicle is 0degree, and the sensor housing rotates in a clockwise direction, theliquid nozzle may be located at approximately 236 degrees. While theexact locations may not be critical to cleaning, as noted below, thenozzles may be located closer to the rear of the vehicle than the frontof the vehicle (depicted in FIG. 2), and in addition, for effectivecleaning, the nozzles should be located at least half the maximum widthof the spray from the nozzle or more or less apart. Using the example ofa sensor housing that is approximately 277 millimeters in diameter and asensor window that is approximately 142 millimeters wide, the angulardistance between the nozzles relative to the sensor housing may be atleast 80 degrees or more or less as shown in FIG. 5.

A position sensor 430 may be arranged to detect the current angularposition of the sensor and/or sensor housing relative to the vehicle100. The position sensor may include any rotational position sensor,such as a Hall effect array or an encoder, that can be used to track theposition of the motor 320, sensor housing 310, and/or the internalsensor components 360. In this regard, one or more processors, such asthe one or more processors 120 or other similarly configured processors,may control the motor 320 based on feedback from the position sensor oranother position sensor. In this regard, the position sensor may beconfigured to generate a signal indicating or identifying a location ofone or more of the motor, housing, or the internal sensor components.The position sensor may be located at forward direction or position withrespect to the vehicle (e.g. approximately 0 degrees), such that theposition sensor detects each time a center of the sensor input surfacerotates passes the position sensor.

A controller 440 may include one or more computing devices having one ormore processors and memory, configured the same or similarly to thecomputing devices 110, processors 120, and memory 130. The controllermay be configured to receive, and act upon, various signals. Forexample, the controller may be configured to receive feedback from theposition sensor indicating the position of the sensor. From thisinformation as well as the rotation speed of the sensor housing (forexample, 10 Hz or more or less), the controller may determine thecurrent position, for example the current angular position, of thesensor input surface 350 at any given point in time.

The controller 440 may also receive signals from the sensor 300 and/orother computing devices of the vehicle indicating the current state ofthe sensor. For example, the controller 440 may receive a signalindicating that the sensor input surface 350 is occluded or dirty. Thisinformation may be generated by another system, for example a sensorstatus system 450, configured to determine whether the sensor inputsurface 350 is dirty. For example, this system may capture images of thesensor input surface 350 and processes these images to determine whetherthere is any foreign object debris located on the sensor input surface350 and if so, approximately where.

In response, the controller 440 may use the current position of thesensor input surface 350 to determine exactly when to activate theliquid pump 412 and the air pump 422 as well as to open the air andliquid valves in order to both apply liquid cleaning fluid to the sensorinput surface as well as to clear the cleaning from the sensor inputsurface 350 using a puff of gas such as air or other gasses. Forexample, by knowing the location of any given point on the sensor, thecontroller 440 may determine the relative position of the forward facingand rearward facing edges (relative to the direction of rotation) of thesensor input surface. In this regard, the controller is able todetermine the exact location of the edges of the sensor input surface.

FIG. 5 is an example flow diagram for cleaning a sensor having arotating sensor housing including a sensor input surface which may beperformed by one or more processors of a controller such as theprocessors of controller 440. At block 510, a first signal from aposition sensor indicating a current position of the sensor housing isreceived. This signal may be received from the position sensor 430 asdescribed above.

At block 520, a second signal to activate a liquid nozzle and an airnozzle. The liquid nozzle is configured to provide a spray of liquid,and the air nozzle being configured to provide a puff of gas. Forinstance, the controller 440 may receive a signal from the sensor statussystem 450 indicating that the sensor input surface 350 requirescleaning. As noted above, the liquid nozzle 410 may provide a spray ofliquid cleaning fluid to attempt to clean debris from the sensor inputsurface 350, and the air nozzle 420 may provide a puff of gas to removeliquid cleaning fluid and/or debris from the sensor input surface.

At block 530, when to activate the liquid nozzle in order to provide thespray of liquid on the sensor input surface is determined based on thecurrent position of the sensor housing and the second signal. Forexample, the timing of the activation of the liquid pump 412 and theopening of the liquid valve 418 may be determined in order that thespray of liquid cleaning fluid from the liquid nozzle 410 is made as thesensor input surface 350 rotates passed the liquid nozzle in order tocause the liquid cleaning fluid to contact the sensor input surfacewithout wasting the liquid cleaning fluid (i.e. rather than spraying onother portions of the sensor housing than the sensor input surface).

At block 540, when to activate the air nozzle in order to provide thepuff of gas on the sensor input surface based on the current position ofthe sensor housing and the second signal. For example, the timing of theactivation of the air pump 422 and the opening of the air valve 428 maybe determined in order that the puff of gas from the air nozzle 420 ismade as the sensor input surface 350 rotates passed the air nozzle inorder to cause the puff of gas to contact the sensor input surface (i.e.rather than puffing on other portions of the sensor housing than thesensor input surface).

The liquid nozzle may then be activated based on the determination ofwhen to activate the liquid nozzle. In addition, the air nozzle may bebased on the determination of when to activate the air nozzle. Forexample, the liquid valve 418, air valve 428, liquid pump 412, and airpump 422 may be activated in order to cause a spray of liquid cleaningfluid to contact the sensor input surface 350 as the sensor inputsurface rotates passed the liquid nozzle 410 and to cause a puff of gasto contact the sensor input surface as the sensor input surface rotatespassed the air nozzle 420.

FIG. 6 provides an example timing diagram for activation of the liquidnozzle 410 and air nozzle 420. In this example, the forward direction ofthe vehicle is designated as 0 degrees, and degrees represented in thediagram represent the different positions of the sensor input surface350 as it rotates with the sensor 300 in the first direction 335.

When the sensor input surface 350 is located at 72 degrees, thecontroller 440 may open the liquid valve 418. The liquid pump 412 may beactivated before the liquid valve is opened in order to enable pressureto build up behind the valve. The exact timing may depend upon thelength and cross-sectional area of the tubing used. As an example, thecontroller may activate the liquid pump 412 such that the pumppressurizes the spray of liquid cleaning fluid about 0.25 to 0.5 secondsor more or less before the valves are opened. This may guarantee thatthe liquid nozzle reaches full pressurization before the cleaningbegins. In addition, the timing of the opening of the liquid valve mayalso account for the distance and speed at which the liquid cleaningfluid will travel from the nozzle to the sensor input surface or rather,the time delay between liquid cleaning fluid leaving the nozzle andimpacting the sensor input surface of the sensor. The liquid pump 412may remain on as needed for the spray of liquid cleaning solution to becompleted.

As such, as soon as the liquid valve 418 is open, the spray of liquidcleaning fluid may begin. This opening may take time, and thus, theliquid valve 418 may not be fully open until the sensor input surface350 reaches 108 degrees. However, at least some fluid may be coming outof the liquid valve 418 as soon as it begins to open. As the liquidvalve opens, the pressure in the line before the liquid valve may dropand the liquid cleaning fluid may start flowing out of the liquid valvetowards the liquid nozzle. The liquid cleaning fluid may come out of theliquid nozzle but because it is a small orifice, pressure may startbuilding inside the tube again. After a couple of milliseconds, thepressure inside the tubing may be equalized, and the spray of liquidcleaning fluid out the liquid nozzle will be fully established. In thisregard, the timing of the spray of liquid cleaning solution may accountfor the time for the liquid valve to open as well as the time it takesto build full pressure behind the liquid nozzle due to thecharacteristics of the tubing such as the length and volume between theliquid valve and the liquid nozzle. The spray of liquid cleaning fluidmay last as the sensor input surface rotates 350 between 108 and 187degrees. In the systems described herein, this may cause the spray ofliquid cleaning fluid to contact the sensor input surface as it rotatespast the liquid nozzle. The liquid valve 418 may remain open until thesensor input surface 350 reaches 223 degrees.

When the sensor input surface 350 is located at 170 degrees, thecontroller 440 may cause the air valve 418 to open. As with the liquidpump 412, the air pump 422 may be activated before the air valve isopened in order to enable pressure to build up behind the air valve. Theexact timing may depend upon the length and cross-sectional area of thetubing used. As an example, the controller may activate the air pump 422such that the pump pressurizes the puff of gas about 0.25 to 0.5 secondsor more or less before the air valve is opened. This may guarantee thatthe air nozzle reaches full pressurization before the puff of gasbegins. In addition, the timing of the opening of the air valve may alsoaccount for the distance and speed at which the puff of gas has totravel from the nozzle to the sensor input surface or rather, the timedelay between the puff of gas leaving the nozzle and impacting thesensor input surface of the sensor. The air pump 422 may remain on asneeded in order to complete the puff of gas.

Again, opening the valve may take time, and thus, the air valve 428 maynot be fully open until the sensor input surface 350 reaches 206degrees. At this point, the air nozzle may begin to provide a puff ofgas. The puff of gas may last as the sensor input surface 350 rotatesbetween 206 and 277 degrees. In the systems described herein, this maycause the puff of gas to contact the sensor input surface 350 as itrotates past the air nozzle. The air valve 428 may remain open until thesensor input surface reaches 313 degrees.

In some instances, the controller may be configured to clean specificportions of the sensor input surface 350. For example, the controllermay clean the entire sensor input surface 350, or only a portion of thesensor input surface. The timing may be determined, for example, byreferring to prestored information, such as a table or other dataconfiguration. The figure below provides an example timing diagram basedon the position of the center of the sensor input surface 350. Thisfigure demonstrates when the liquid valve 418 is opened and closed,liquid cleaning fluid is sprayed through the liquid nozzle 410, the airvalve 428 is opened and closed, and air is puffed through the air nozzle420 when cleaning the entire sensor input surface 350.

This timing may be adjusted in order to clean different portions of thesensor input surface 350. For example, when cleaning only the firstthird or half (or other portion) of the sensor input surface 350 (e.g.the part that rotates past the liquid and air nozzles first), the timingof opening the liquid and air valves and starting the spray of liquidcleaning fluid and puff of gas may begin as shown in FIG. 6. However,the ending of the spray of liquid cleaning fluid and puff of gas as wellas the timing of the closing of the valves may occur earlier. Similarly,when cleaning only last third or half (or other portion) of the sensorinput surface 350 (e.g. the part that rotates past the nozzles last),the timing of opening the valves and starting the spray of liquidcleaning fluid and puff of gas may begin later than shown in the figure.However, the beginning of the spray of liquid cleaning fluid and puff ofgas as well as the timing of opening the valves may occur later.

Once the liquid and air valves 418, 428, respectively, are opened, theremay be a delay from when the pressure from the liquid and air nozzles isbuilt up enough to hit the correct portion of the sensor input surface350. In this regard, the timing of when the liquid valve 418 is openedand closed, liquid cleaning fluid is sprayed through the liquid nozzle410, the air valve 428 is opened and closed, and puff of gas is puffedthrough the air nozzle 420 when cleaning the entire sensor input surface350 may need to be adjusted depending upon the exact configuration ofthe cleaning system (e.g. how long the tubing is between the pumps andthe valves and between the valves and the nozzles).

In some instances, the puff of gas may be generated during the same or adifferent rotation as the spray of liquid cleaning fluid. For instance,if the foreign object debris requires the liquid cleaning fluid to siton the sensor input surface 350 for some period of time, the controllermay delay the puff of gas for some number of rotations. This may beespecially useful for cleaning organic materials from the sensor inputsurface 350 where the chemical action of the liquid cleaning fluid withthe organic material is important. As an example 5-10 sprays of liquidcleaning fluid with a 1-2 second rest period might be used for badorganic fouling. The negative of this is interference with the sensorperformance. Information about the type of debris and/or number ofrotations may be received from the other system configured to determinewhether the sensor input surface 350 is dirty.

As noted above and shown in FIG. 6, the nozzles may be positionedbetween the sensor housing and the rear of the vehicle. By positioningthe liquid and air nozzles towards the rear of the vehicle (rather thanthe front), any liquid which is sprayed at the sensor housing and“misses” the sensor input surface 350 is located behind the vehicle, andtherefore much less likely to be blown onto another sensor housing orsome other portion of the vehicle. Moreover, this reduces the impact ofthe cleaning on the sensor data captured for the front of the vehiclewhere detecting objects may be most critical (e.g. emergency and othervehicles and other road users with which the vehicle could potentiallycollide are more likely to be located in front of the vehicle thanbehind).

The features described herein may provide for a useful and practicalapproach to cleaning rotating sensors. In addition, the aforementionedtiming, cleaning of different portions of the sensor input surface 350depending on where the sensor input surface is dirty, and thepositioning of the nozzles may significantly reduce the amount of liquidcleaning fluid that would be wasted, for instance due to overspray,without such features. In addition, by reducing overspray, this avoidsspraying onto other nearby vehicles or persons (especially in urbanareas) and also reduces operational costs (as less fluid is wasted, lessfluid may be needed). All of these can be important considerations whena vehicle is driving through an area where frequent cleaning is requiredas the amount of liquid cleaning fluid is limited to that which is inthe reservoir.

Unless otherwise stated, the foregoing alternative examples are notmutually exclusive, but may be implemented in various combinations toachieve unique advantages. As these and other variations andcombinations of the features discussed above can be utilized withoutdeparting from the subject matter defined by the claims, the foregoingdescription of the embodiments should be taken by way of illustrationrather than by way of limitation of the subject matter defined by theclaims. In addition, the provision of the examples described herein, aswell as clauses phrased as “such as,” “including” and the like, shouldnot be interpreted as limiting the subject matter of the claims to thespecific examples; rather, the examples are intended to illustrate onlyone of many possible embodiments. Further, the same reference numbers indifferent drawings can identify the same or similar elements.

1. A system for cleaning a sensor, the sensor including a rotatingsensor housing with a sensor input surface, the system comprising: aliquid nozzle configured to provide a spray of liquid; an air nozzleconfigured to provide a puff of gas; and one or more processorsconfigured to: receive a first signal from a position sensor indicatinga current position of the sensor housing; receive a second signal toactivate the liquid nozzle and the air nozzle; determine when toactivate the liquid nozzle in order to provide the spray of liquid onthe sensor input surface based on the current position of the sensorhousing and the second signal; and determine when to activate the airnozzle in order to provide the puff of gas on the sensor input surfacebased on the current position of the sensor housing and the secondsignal.
 2. The system of claim 1, further comprising a vehicle and thesensor, wherein the sensor is mounted on the vehicle.
 3. The system ofclaim 2, wherein the liquid nozzle and the air nozzle are positionedbetween the sensor housing and a rear of the vehicle.
 4. The system ofclaim 1, wherein the second signal indicates that the sensor inputsurface requires cleaning.
 5. The system of claim 1, wherein the secondsignal indicates a number of rotations of the sensor housing betweenwhen the liquid nozzle is to be activated and when the air nozzle is tobe activated.
 6. The system of claim 1, wherein the second signalfurther indicates a portion of the sensor input surface to be cleaned,and wherein determining when to activate the liquid nozzle is furtherbased on the portion.
 7. The system of claim 1, wherein the secondsignal further indicates a portion of the sensor input surface to becleaned, and wherein determining when to activate the air nozzle isfurther based on the portion.
 8. The system of claim 1, wherein the oneor more processors are further configured to: activate the liquid nozzlefurther based on the determination of when to activate the liquidnozzle; and activate the air nozzle further based on the determinationof when to activate the air nozzle.
 9. The system of claim 1, furthercomprising memory storing a table, and wherein the one or moreprocessors are further configured to determine when to activate theliquid nozzle using the table.
 10. The system of claim 9, wherein thetable identifies different timing combinations for activating the liquidnozzle and the air nozzle based on a portion of the sensor input surfaceto be cleaned.
 11. A method for cleaning a sensor, the sensor includinga rotating sensor housing with a sensor input surface, the methodcomprising: receiving, by one or more processors, a first signal from aposition sensor indicating a current position of the sensor housing;receiving, by the one or more processors, a second signal to activate aliquid nozzle and an air nozzle, the liquid nozzle being configured toprovide a spray of liquid and the air nozzle being configured to providea puff of gas; determining, by the one or more processors, when toactivate the liquid nozzle in order to provide the spray of liquid onthe sensor input surface based on the current position of the sensorhousing and the second signal; and determining, by the one or moreprocessors, when to activate the air nozzle in order to provide the puffof gas on the sensor input surface based on the current position of thesensor housing and the second signal.
 12. The method of claim 11,wherein the second signal indicates that the sensor input surfacerequires cleaning.
 13. The method of claim 11, wherein the second signalindicates a number of rotations of the sensor housing between when theliquid nozzle is to be activated and when the air nozzle is to beactivated.
 14. The method of claim 11, wherein the second signal furtherindicates a portion of the sensor input surface to be cleaned, andwherein determining when to activate the liquid nozzle is further basedon the portion.
 15. The method of claim 11, wherein the second signalfurther indicates a portion of the sensor input surface to be cleaned,and wherein determining when to activate the air nozzle is further basedon the portion.
 16. The method of claim 11, further comprising:activating the liquid nozzle further based on the determination of whento activate the liquid nozzle; and activating the air nozzle furtherbased on the determination of when to activate the air nozzle.
 17. Themethod of claim 11, wherein determining when to activate the liquidnozzle includes using a table.
 18. The method of claim 17, wherein thetable identifies different timing combinations for activating the liquidnozzle and the air nozzle based on a portion of the sensor input surfaceto be cleaned.